import mfso
import mtksy
import mpdf

import os

if __name__ == "__main__":
    str1 ='''
1.选择一个包含 *.ST.*.pdf (pdf版bom) 的文件夹
    =>本函数将其中全部2 页以上  *.ST.*.pdf 复制到 D:/temp/BOM_REMOVE_EMPTY
2.逐个打开这些BOM, 等待输入 空格 隔开 的需要删除页的 页码
    =>执行删除,后把结果存放在 D:/temp/BOM_OK
3.使用 D:/temp/BOM_OK中的 BOM替换掉 步骤1所输入的文件夹中,同名BOM
    '''
    print(str1)
    str2=mfso.myinput("请输入您的选择(1 或 2 或 3)")
    para1=r"D:/BOM_MUTI_PATE"
    para2=r"D:/temp/BOM_OK"
    l2={}

    while str2 in ['1','2','3']:
        if os.path.exists(para1) == False: os.makedirs(para1)
        if os.path.exists(para2) == False: os.makedirs(para2)

        if str2=="1":
            str3=mfso.getfd("请输入包含 *.ST.*.pdf 的文件夹")
            l2= mfso.collect_file_by_ext(str3)
            #遍历全部的 pdf 找出2页以上 的 复制到 目标文件夹中
            for fl in l2[".pdf"]:

                fl_from= l2[".pdf"][fl]
                if fl.find("ST")>0 or fl.find(".XS.")>0:
                    if mpdf.get_pages(fl_from[0])>2:
                        #多页才看,
                        if os.path.exists( os.path.join( para1, fl)) == False:
                            mfso.copy_file( fl_from[0] , os.path.join( para1, fl) )




        elif str2=="2":
            l3 = mfso.collect_file_by_ext(para1)
            # 遍历全部的 pdf 找出2页以上 的 复制到 目标文件夹中
            for fl in l3[".pdf"]:
                fl_from = l3[".pdf"][fl]
                os.startfile(fl_from[0])
                print(mpdf.get_pages(fl_from[0]))
                del_pages = input("输入要删除的页码,使用空格分割页码")
                mpdf.removepages(fl_from[0], os.path.join(para2,fl),del_pages)


        elif str2 =="3":
            if l2 == {}:
                str3 = mfso.getfd("请输入包含 *.ST.*.pdf 的文件夹")
                l2 = mfso.collect_file_by_ext(str3)
                # 遍历全部的 pdf 找出2页以上 的 复制到 目标文件夹中
            if  '.pdf' in l2:
                for fl in l2[".pdf"]:
                    # 遍历替换所有的文件
                    for flpdf in l2[".pdf"][fl]:
                        if os.path.exists( os.path.join( para2 , fl)) :
                            print(flpdf)
                            os.remove( flpdf )
                            mfso.copy_file( os.path.join( para2 , fl) ,flpdf  )



            pass
        str2=mfso.myinput("请输入您的选择(1 或 2 或 3)")
    input("按任意键退出程序...")